<html xmlns="http://www.w3.org/1999/xhtml"  
      xmlns:h="http://java.sun.com/jsf/html"  
      xmlns:f="http://java.sun.com/jsf/core"  
      xmlns:p="http://primefaces.org/ui"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:pe="http://primefaces.org/ui/extensions"> 

    <h:form id="formCadastroProduto">
        <p:growl id="growl" showDetail="false"/>
        <h:inputHidden value="#{clienteControler.cliente.id}"/>
        <h:panelGrid columns="4">

            <h:panelGrid columns="1">
                <h:outputText value="Código" style="font-weight: bold;"/>
                <p:inputText value="#{clienteControler.cliente.id}" disabled="true" id="idCliente" rendered="#{!clienteControler.alterando}"/>
                <h:outputText value="#{clienteControler.cliente.id}" rendered="#{clienteControler.alterando}"/>
            </h:panelGrid>

            <h:panelGrid columns="1">
                <h:outputText value="Tipo pessoa:" style="font-weight: bold;"/>
                <p:selectOneMenu value="#{clienteControler.cliente.tipoPessoa}" style="width: 150px;" rendered="#{!clienteControler.alterando}">
                    <f:selectItem itemLabel="Jurídica" itemValue="J" />
                    <f:selectItem itemLabel="Fisica" itemValue="F" />
                    <p:ajax event="change" update="@form"/>
                </p:selectOneMenu>
                <h:outputText value="#{clienteControler.cliente.tipoPessoa}" rendered="#{clienteControler.alterando}"/>
            </h:panelGrid>

            <h:panelGrid columns="1" rendered="#{clienteControler.cliente.tipoPessoa.toString().equalsIgnoreCase('J')}">
                <h:outputText value="CNPJ" id="cnpj"  style="font-weight: bold;"/>
                <p:inputMask mask="99.999.999/9999-99" title="Informe neste campo o cnpj do cliente" rendered="#{!clienteControler.alterando}" value="#{clienteControler.cliente.cpfCnpj}" id="inpcnpj" required="true" requiredMessage="O CNPJ é obrigatório">
                    <p:ajax event="blur" update="growl" listener="#{clienteControler.validaCpfCnpj()}"/>
                    <p:tooltip for="inpcnpj" showEvent="focus" hideEvent="blur" /> 
                </p:inputMask>
                <h:outputText value="#{clienteControler.cliente.cpfCnpj}" rendered="#{clienteControler.alterando}"/>
            </h:panelGrid>

            <h:panelGrid columns="1" rendered="#{clienteControler.cliente.tipoPessoa.toString().equalsIgnoreCase('F')}">
                <h:outputText value="CPF"  id="cpf" style="font-weight: bold;"/>
                <p:inputMask mask="999.999.999-99" title="Informe neste campo o cpf do cliente" rendered="#{!clienteControler.alterando}" id="inpcpf" value="#{clienteControler.cliente.cpfCnpj}" required="true" requiredMessage="O CPF é obrigatório">
                    <p:ajax event="blur" update="growl" listener="#{clienteControler.validaCpfCnpj()}"/>
                    <p:tooltip for="inpcpf" showEvent="focus" hideEvent="blur" /> 
                </p:inputMask>
                <h:outputText value="#{clienteControler.cliente.cpfCnpj}" rendered="#{clienteControler.alterando}"/>
            </h:panelGrid>

            <h:panelGrid columns="1" rendered="#{clienteControler.cliente.tipoPessoa.toString().equalsIgnoreCase('J')}" >
                <h:outputText value="Inscricão Estadual" id="ie" style="font-weight: bold;"/>
                <p:inputMask mask="99.999.999-9" title="Informe neste campo a inscrição estadual" rendered="#{!clienteControler.alterando}" id="inpie" value="#{clienteControler.cliente.inscricaoEstadual}" required="true" requiredMessage="A inscrição estadual é obrigatória"/>
                <p:tooltip for="inpie" showEvent="focus" hideEvent="blur" /> 
                <h:outputText value="#{clienteControler.cliente.inscricaoEstadual}" rendered="#{clienteControler.alterando}"/>
            </h:panelGrid>

            <h:panelGrid columns="1" rendered="#{clienteControler.cliente.tipoPessoa.toString().equalsIgnoreCase('J')}">
                <h:outputText value="Inscricão Municipal" id="im" style="font-weight: bold;"/>
                <p:inputText  id="inpIM" title="Informe neste campo a Insrição Municipal do cliente" rendered="#{!clienteControler.alterando}" value="#{clienteControler.cliente.inscricaoMunicipal}" />
                <p:tooltip for="inpIM" showEvent="focus" hideEvent="blur" /> 
                <h:outputText value="#{clienteControler.cliente.inscricaoMunicipal}" rendered="#{clienteControler.alterando}"/>
            </h:panelGrid>

            <h:panelGrid columns="1" rendered="#{clienteControler.cliente.tipoPessoa.toString().equalsIgnoreCase('F')}">
                <h:outputText value="RG"  id="rg" style="font-weight: bold;"/>
                <p:inputText value="#{clienteControler.cliente.rg}" rendered="#{!clienteControler.alterando}" title="Informe neste campo o RG do cliente" id="inprg" required="true" requiredMessage="O RG é obrigatório"/>
                <p:tooltip for="inprg" showEvent="focus" hideEvent="blur" /> 
                <h:outputText value="#{clienteControler.cliente.rg}" rendered="#{clienteControler.alterando}"/>
            </h:panelGrid>

            <h:panelGrid columns="1" rendered="#{clienteControler.cliente.tipoPessoa.toString().equalsIgnoreCase('J')}">
                <h:outputText value="Razão Social"  id="rggg" style="font-weight: bold;"/>
                <p:inputText title="Informe neste campo a razão social do cliente" rendered="#{!clienteControler.alterando}" value="#{clienteControler.cliente.nome}" id="inprgs" required="true" requiredMessage="A Razão Social é obrigatório" />
                <p:tooltip for="inprgs" showEvent="focus" hideEvent="blur" /> 
                <h:outputText value="#{clienteControler.cliente.nome}" rendered="#{clienteControler.alterando}"/>
            </h:panelGrid> 

            <h:panelGrid columns="1" rendered="#{clienteControler.cliente.tipoPessoa.toString().equalsIgnoreCase('J')}">
                <h:outputText value="Nome Fantasia"  id="rgg" style="font-weight: bold;"/>
                <p:inputText title="Informe neste campo o nome fantasia do cliente" value="#{clienteControler.cliente.fantasia}" id="inprgss"  rendered="#{!clienteControler.alterando}"/>
                <p:tooltip for="inprgss" showEvent="focus" hideEvent="blur" /> 
                <h:outputText value="#{clienteControler.cliente.fantasia}" rendered="#{clienteControler.alterando}"/>
            </h:panelGrid>

            <h:panelGrid columns="1" rendered="#{clienteControler.cliente.tipoPessoa.toString().equalsIgnoreCase('F')}">
                <h:outputText value="Nome"  id="rgh" style="font-weight: bold;"/>
                <p:inputText title="Informe neste campo o nome do cliente" rendered="#{!clienteControler.alterando}" value="#{clienteControler.cliente.nome}" id="inprgd"  required="true" requiredMessage="O Nome é obrigatório" />
                <p:tooltip for="inprgd" showEvent="focus" hideEvent="blur" /> 
                <h:outputText value="#{clienteControler.cliente.nome}" rendered="#{clienteControler.alterando}"/>
            </h:panelGrid>

            <h:panelGrid columns="1">
                <h:outputText value="Situação Cliente:" style="font-weight: bold;"/>
                <p:selectOneMenu value="#{clienteControler.cliente.idSituacaoCliente.id}" style="width: 150px;" rendered="#{!clienteControler.alterando}">  
                    <f:selectItems value="#{situacaoClienteControler.listSituacao}" var="sit" itemValue="#{sit.id}" itemLabel="#{sit.nome}"/> 
                </p:selectOneMenu>
                <h:outputText value="#{clienteControler.cliente.idSituacaoCliente.descricao}" rendered="#{clienteControler.alterando}"/>
            </h:panelGrid>

            <h:panelGrid columns="1">
                <h:outputText value="Email:" style="font-weight: bold;"/>
                <p:inputText value="#{clienteControler.cliente.email}" id="email" title="Informe neste campo o email do cliente" rendered="#{!clienteControler.alterando}"/>
                <p:tooltip for="email" showEvent="focus" hideEvent="blur" /> 
                <h:outputText value="#{clienteControler.cliente.email}" rendered="#{clienteControler.alterando}"/>
            </h:panelGrid>

            <h:panelGrid columns="1">
                <h:outputText value="Telefone1:" style="font-weight: bold;"/>
                <p:inputMask mask="(99)9999-9999" value="#{clienteControler.cliente.fone1}" id="fone1" title="Informe neste campo um telefone do cliente" rendered="#{!clienteControler.alterando}"/>
                <p:tooltip for="fone1" showEvent="focus" hideEvent="blur" /> 
                <h:outputText value="#{clienteControler.cliente.fone1}" rendered="#{clienteControler.alterando}"/>
            </h:panelGrid>

            <h:panelGrid columns="1">
                <h:outputText value="Telefone2:" style="font-weight: bold;"/>
                <p:inputMask mask="(99)9999-9999" value="#{clienteControler.cliente.fone2}" id="fone2" title="Informe neste campo um telefone do cliente" rendered="#{!clienteControler.alterando}"/>
                <p:tooltip for="fone2" showEvent="focus" hideEvent="blur" /> 
                <h:outputText value="#{clienteControler.cliente.fone2}" rendered="#{clienteControler.alterando}"/>
            </h:panelGrid>

            <h:panelGrid columns="1">
                <h:outputText value="Celular:" style="font-weight: bold;"/>
                <p:inputMask mask="(99)9999-9999" value="#{clienteControler.cliente.celular}" id="celular" title="Informe neste campo o celular do cliente" rendered="#{!clienteControler.alterando}"/>
                <p:tooltip for="celular" showEvent="focus" hideEvent="blur" /> 
                <h:outputText value="#{clienteControler.cliente.celular}" rendered="#{clienteControler.alterando}"/>
            </h:panelGrid>

            <h:panelGrid columns="1" rendered="#{clienteControler.cliente.tipoPessoa.toString().equalsIgnoreCase('F')}">
                <h:outputText value="Data de Nascimento:"  style="font-weight: bold;"/>
                <p:calendar value="#{clienteControler.cliente.dataNascimento}"  showOn="button" id="dataNascimento" title="Informe neste campo a data de nascimento do cliente" rendered="#{!clienteControler.alterando}">
                    <f:convertDateTime pattern="dd/MM/yyyy"/>
                    <p:tooltip for="dataNascimento" showEvent="focus" hideEvent="blur" />
                </p:calendar>
                <h:outputText value="#{clienteControler.cliente.dataNascimento}" rendered="#{clienteControler.alterando}"/>
            </h:panelGrid>

            <h:panelGrid columns="1">
                <h:outputText value="Cep:" style="font-weight: bold;"/>
                <p:inputMask mask="99999-999" value="#{clienteControler.cliente.cep}" id="cep" title="Informe neste campo o cep do cliente" rendered="#{!clienteControler.alterando}"/>
                <p:tooltip for="cep" showEvent="focus" hideEvent="blur" /> 
                <h:outputText value="#{clienteControler.cliente.cep}" rendered="#{clienteControler.alterando}"/>
            </h:panelGrid>

            <h:panelGrid columns="1">
                <h:outputText value="Logradouro:" style="font-weight: bold;"/>
                <p:inputText value="#{clienteControler.cliente.logradouro}" id="logradouro" title="informe neste campo o logradouro do cliente" rendered="#{!clienteControler.alterando}"/>
                <p:tooltip for="logradouro" showEvent="focus" hideEvent="blur" /> 
                <h:outputText value="#{clienteControler.cliente.logradouro}" rendered="#{clienteControler.alterando}"/>
            </h:panelGrid>

            <h:panelGrid columns="1">
                <h:outputText value="Número:" style="font-weight: bold;"/>
                <p:inputText value="#{clienteControler.cliente.numero}" id="numero" title="Informe neste campo o número do endereço do cliente" rendered="#{!clienteControler.alterando}"/> 
                <p:tooltip for="numero" showEvent="focus" hideEvent="blur" /> 
                <h:outputText value="#{clienteControler.cliente.numero}" rendered="#{clienteControler.alterando}"/>
            </h:panelGrid>

            <h:panelGrid columns="1">
                <h:outputText value="Bairro:" style="font-weight: bold;"/>
                <p:inputText value="#{clienteControler.cliente.bairro}" id="bairro" title="Informe neste campo o bairro do cliente" rendered="#{!clienteControler.alterando}"/>
                <p:tooltip for="bairro" showEvent="focus" hideEvent="blur" /> 
                <h:outputText value="#{clienteControler.cliente.bairro}" rendered="#{clienteControler.alterando}"/>
            </h:panelGrid>

            <h:panelGrid columns="1">
                <h:outputText value="Estado: " style="font-weight: bold;"/>
                <p:selectOneMenu value="#{clienteControler.cliente.idCidade.estado}" style="width: 150px;" rendered="#{!clienteControler.alterando}">
                    <f:selectItems value="#{clienteControler.retornaEstados()}" var="estado" itemValue="#{estado}" itemLabel="#{estado}"/> 
                    <p:ajax event="change" update="cidade" listener="#{clienteControler.carregaCidades()}"/>
                </p:selectOneMenu>
                <h:outputText value="#{clienteControler.cliente.idCidade.estado}" rendered="#{clienteControler.alterando}"/>
            </h:panelGrid>

            <h:panelGrid columns="1">
                <h:outputText value="Cidade: " style="font-weight: bold;"/>
                <p:selectOneMenu value="#{clienteControler.cliente.idCidade.id}" id="cidade" style="width: 150px;" rendered="#{!clienteControler.alterando}">
                    <f:selectItem itemValue="0" itemLabel="Selecione"/>
                    <f:selectItems value="#{clienteControler.listCidades}" var="cid" itemValue="#{cid.id}" itemLabel="#{cid.cidade}"/> 
                </p:selectOneMenu>
                <h:outputText value="#{clienteControler.cliente.idCidade.cidade}" rendered="#{clienteControler.alterando}"/>
            </h:panelGrid>
        </h:panelGrid>
        <h:panelGrid columns="5">
            <p:commandButton value="Salvar" accesskey="S" action="#{clienteControler.salvar()}" update=":formTabela" 
                             onclick="statusDialog.show();" onsuccess="statusDialog.hide();" rendered="#{!clienteControler.alterando}"/>
            <p:commandButton value="Alterar" update="@form" rendered="#{clienteControler.alterando}" action="#{clienteControler.alterar()}"/>
            <p:commandButton image="ui-icon ui-icon-close" title="excluir" rendered="#{clienteControler.alterando}" value="Excluir"
                             actionListener="#{clienteControler.setCliente(forn)}" onclick="confirmationExcluircliente.show();"/>
            <p:commandButton value="Novo" accesskey="N" update="@form" action="#{clienteControler.inicializaObj()}" process="@this"/>
            <p:commandButton value="Cancelar" accesskey="C" onclick="dlgCliente.hide()" process="@this"/>
        </h:panelGrid>
    </h:form>
</html>